package com.example.mq.common;

import com.example.mq.mqserver.core.BasicProperties;

import java.io.IOException;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: DongGuoZhen
 * @Date: 2024/03/06/13:29
 * @Description:  单纯的函数式接口,收到消息之后,要处理消息时调用的方法
 */

@FunctionalInterface
public interface Consumer {
    //这方法Delivery意思是投递,这个方法预期是在每次服务器收到消息之后,来调用
    //通过这个方法把消息推送给对应的消费者
    //这里的方法名和参数都是参考rabbitmq实现的
    void handleDelivery(String consumerTag, BasicProperties basicProperties,byte[] body) throws MqException, IOException;
}
